﻿using Common.Base;
using Common.Enums;

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace GameCommon.ManagerInterfaces
{
    public interface IContentManager
    {
        Texture2D GetFontTexture2D(FontEnum font, FontSizeEnum size);

        int GetViewportHeight();

        Dimension GetViewportSize();

        int GetViewportWidth();

        void LoadTexture(string path);

        Texture2D GetMenuTexture2D(string name);

        Texture2D GetMiscTexture2D(string name);

        Texture2D GetRectangle(Color color);

        Texture2D GetBoardTexture2D(string textureName);

        Texture2D GetBoardTexture2D(string textureName, int zoom);

        Texture2D GetHudTexture2D(string name);

        Effect GetEffect(string name);

        RenderTarget2D GetRenderTarget2D();
        
        Texture2D GetCloudTexture2D(string name);
        
        void SetRenderTarget2D(RenderTarget2D target);

        void ClearGraphics();
    }
}